package jdbcState;

import org.apache.storm.trident.operation.CombinerAggregator;
import org.apache.storm.trident.tuple.TridentTuple;

/**
 * 将同一个group中的money进行求和计算，并且，只输出一个字段：money
 * 但是，由于前面有一个groupBy函数，所以当前节点的下一个节点会收到的tuple有2个字段：【tel,sum】
 */
class SumCombinerAgg implements CombinerAggregator<Long> {
    @Override
    public Long init(TridentTuple tuple) {
        return Long.parseLong(tuple.getString(0));
    }
    @Override
    public Long combine(Long val1, Long val2) {
        Long val = val1+val2;
        System.out.println(val);
        return val;
    }
    @Override
    public Long zero() {
        return 0L;
    }
}